import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

// 实现一个登录页面
@WebServlet("/login")
public class LoginServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //  处理用户请求
        String username = req.getParameter("username");
        String password = req.getParameter("password");

        // 判断用户名 或者 面是否正确
        // 正常来说 这个判定 操作是要放到数据库中进行 存取的
        // 此处为了简单，就直接在代码里写死，假设有效的用户名和密码是 “zhangsan”，“123”
        if("zhangsan".equals(username) && "123".equals(password)) {
            // 登录成功
            // 登录成功，并且 创建会话，并保存必要的身份信息（在后续跳转到index的时候，服务器能够获取到当前用户信息）
            HttpSession httpSession = req.getSession(true);
            // 往会话中存储键值对，必要的身份信息
            httpSession.setAttribute("username",username);
            httpSession.setAttribute("password",password);
            // 初始情况下，把登录次数设为 0
            httpSession.setAttribute("count",0);
            resp.sendRedirect("index"); // 302 重定向，登录成功 跳转到 其他页面（这里是主页）
        }else {
            // 登录失败
            resp.getWriter().write("login failed"); // 登录失败，页面上显示登录失败
        }
    }
}
